// 方式1 ： 通过JS提供的内置构造器 Date 和对象构建关键字 new 创建时间对象
let day = new Date(); // 加载当前系统时间
console.log( day )
// 方式2 ： 通过时间构造器 Date 提供多种参数规则 ，指定时间创建时间对象
//          JS中的时间月份从 0~11 分别表示 12个月
let day1 = new Date(2013,10,23,11,23,45);
console.log( day1 )
let day2 = new Date(1699496416160);
console.log( day2 )
// 字串串时间格式传入时，月份描述范围为 1~12
let day3 = new Date("2020/11/23 23:11:44");
console.log( day3 )

// 时间的内置方法
//  获取时间数据的加载方法 基本以 get 开头
console.log( day.getFullYear() ) // 年
console.log( day.getMonth() ) // 月 （0-11）
console.log( day.getDate() ) // 日
console.log( day.getHours() ) // 时 （0-23）
console.log( day.getMinutes() ) // 分
console.log( day.getSeconds() ) // 秒
console.log( day.getMilliseconds() ) // 毫秒

console.log( day.getTime() ) // 获取 1970-01-01 00:00:00.000 到该时间的毫秒差-时间戳
console.log( day.getDay() ) // 获取星期几  (0~6) - 0=星期日
console.log( day.getTimezoneOffset() ) // 获取时区 - 以分描述的时区

//  设置时间数的设置方法 基本以 set 开头
let testDay = new Date();
testDay.setFullYear(2021);
// JS 中的时间设置方法和高位时间存在联动，超出范围会对高位+1，小于范围会对高位-1
testDay.setMonth(1); // 0~11
// testDay.setMonth(12); // 0~11
// testDay.setMonth(-3); // 0~11
// testDay.setDate(30);
// testDay.setDate(-2)
testDay.setDate(4);
testDay.setHours(18)
testDay.setMinutes(44)
testDay.setSeconds(32)

console.log(testDay.toLocaleString())

// 日期格式转换方法 ，转换方法多以 to 开头
console.log( new Date().toString() ) // 时间转换为String的默认方法
console.log( new Date().toDateString() ) // 时间对象->日期
console.log( new Date().toTimeString() ) // 时间对象->时间
// 基于计算语言国家对应的格式输出日期时间
console.log( new Date().toLocaleString() ) // 完整日期时间
console.log( new Date().toLocaleDateString() ) // 日期
console.log( new Date().toLocaleTimeString() ) // 时间

console.log( new Date().toJSON() ); // 特殊格式输出












